Mar 29 2018 / 15:24:41
プログラミング > 機械学習 >
Keyword:

深さ優先探索と幅優先探索を学んでみて

皆さんこんにちは、全然アルゴリズムの勉強をしていないCraetiveGPです。

それと先日AtCoderでやっとこさ茶色になれました、嬉しかったです。

今日はAtCoderでまだまだ先を目指していくためにこのままだと茶色安定も怪しいのでしっかりと基本的なアルゴリズムの勉強をしておこうと思ってこのようなページにたどり着いたわけです。

するとなんと「そこで基礎的な探索をしっかりできるようになりましょう」とか書いているところにこの2つのアルゴリズムがあったので、、、基本、ということで勉強せねばと思って今に至ります。

これは何なのか

これはグラフの探索アルゴリズムというやつらしいです。何でもこれを使えば競プロ初心者が目を背けたくなるような問題があっさりと解けるとか。

実際にグラフを探索しなさい、とかちょくで言ってくる問題はもちろんありませんが、よく例に出されていたのは「最短距離の探索」です。

以前、近くの高専の体験入学に参加した時プログラミングをやっている部活に所属している先輩から同じような問題を聞いたことがあるのを思い出しました。

あの人はこれを言っていたのかと。

凄いアルゴリズムなの!?

と思うじゃないですか? 実はそこまで凄いものでもないらしく、実際ただの総当たりなんですね。

ただ、グラフの総当り(例えば道の最短距離だったら全ての進む可能性のある道を通ってみて距離を測定するということ)は単純な繰り返しで表すことは難しいので、それをやってくれるアルゴリズム、みたいな感じの認識です。

総当りなので計算量もそこそこあるんじゃないかな?